/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.ufes.gpf.sgm.command.incluirMandado;

import edu.ufes.gpf.sgm.command.incluirPessoa.*;
import edu.ufes.gpf.sgm.model.Mandado;
import edu.ufes.gpf.sgm.presenter.IncluirMandadoPresenter;
import edu.ufes.gpf.sgm.state.incluirMandado.EstadoVisualizacaoMandado;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Danilo
 */
public class AlterarMandadoCommand extends AbstractCommandMandado
{

    public AlterarMandadoCommand(IncluirMandadoPresenter receptor)
    {
        super(receptor);
    }

    @Override
    protected boolean salva(Mandado mandado) throws IOException
    {
        return !receptor.getMandados().atualizar(mandado);
        //verificar se não vai ser preciso enviar o nome anterior.. por conta de erro..
        //like this: return !receptor.getClientes().altera(cliente, receptor.getNomeAnterior());
    }

    @Override
    public void execute()
    {
        try
        {
            valida();
            receptor.setEstado(new EstadoVisualizacaoMandado(receptor));
            
        } catch (Exception ex)
        {
            JOptionPane.showMessageDialog(receptor.getView(), ex.getMessage());
            Logger.getLogger(AlterarPessoaCommand.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
}
